In computer vision and computer graphics, 3D reconstruction is the process of determining the shape and/or appearance of real objects. 3D reconstruction may be based on data and/or images of an object obtained from various types of sensors. For example, cameras may be used to measure radiance or light reflected by or emitted from an object's surface and the 3D structure or model of the object may then be inferred from images of the object captured by the camera and from information provided by other sensors. In general, the term 3D model is used herein to refer to a representation of a 3D environment.
Typically, in 3D reconstruction, a set of digital images is processed offline in batch mode along with other sensory information to obtain a 3D model, which may take the form of a 3D mesh of the object. However, because 3D reconstruction has traditionally been computationally expensive, it has often been performed off line and results of the 3D reconstruction were typically available much later. Thus, practical real time applications that use 3D reconstruction have been hitherto limited.
More recently real-time or near real-time 3D reconstruction has gained traction due to a combination of factors including the availability of increased processing power, advanced algorithms, as well as new forms of input data. Users may now obtain feedback on 3D reconstruction in near real-time as captured pictures are processed rapidly by computing devices, including mobile devices. However, many techniques used for 3D reconstruction are power hungry and result in relatively high power use. In mobile devices, for example, increased power consumption may drain the power source or battery thereby limiting the practical applicability of 3D construction.
Therefore, there is a need for apparatus, systems and methods to facilitate power efficient real-time 3D reconstruction on computing and mobile devices.